﻿namespace Sidvall.CodeGenerator.Security
{
    [System.Flags()]
    public enum OperationTypes
    {
        None = 0,
        DeleteItem = 1,
        DeleteItems = 2,
        NewItem = 4,
        NewItems = 8,
        GetItem = 16,
        GetItems = 32,
        GetItemCount = 64,
        AddItem = 256,
        AddItems = 512,
        UpdateItem = 1024,
        UpdateItems = 2048,
        UpdateItemValues = 4096,
        UpdateItemsValues = 8192,
        SaveItems = 16384,
        Execute = 32768,
        DeleteGroup = DeleteItem | DeleteItems,
        NewGroup = NewItem | NewItems,
        GetGroup = GetItem | GetItems | GetItemCount,
        AddGroup = AddItem | AddItems,
        UpdateGroup = UpdateItem | UpdateItems | UpdateItemValues | UpdateItemsValues,
        ItemGroup = DeleteItem | NewItem | GetItem | AddItem | UpdateItem | UpdateItemValues | Execute,
        All = DeleteGroup | NewGroup | GetGroup | AddGroup | UpdateGroup | SaveItems | Execute,
    }
}